Day 15 리스트(배열), 문자열

Day15 15단계 20231103

2. 조건에 맞게 수열 변환하기 2

import java.util.*;
class Solution {
    public int solution(int[] arr) {
		int answer = 0;
		int[] arr2 = Arrays.copyOf(arr, arr.length);

		start: while (true) {
			for (int i = 0; i < arr.length; i++) {
				if (arr[i] >= 50 && arr[i] % 2 == 0) {
					arr[i] /= 2;
				} else if (arr[i] < 50 && arr[i] % 2 != 0) {
					arr[i] = arr[i] * 2 + 1;
				}
			}

			answer++;

			for (int i = 0; i < arr.length; i++) {
				if (arr2[i] != arr[i]) {
					arr2 = Arrays.copyOf(arr, arr.length);
					continue start;
				} else {
					if (i == arr.length - 1) {
						break start;
					}
				}
			}
		}
        return answer-1;
    }
}

3. 1로 만들기

class Solution {
    public int solution(int[] num_list) {
		int answer = 0;
		for (int i : num_list) {
			while (i != 1) {
				if (i % 2 == 0) {
					i /= 2;
					answer++;
					continue;
				} else {
					i = (i - 1) / 2;
					answer++;
					continue;
				}
			}
		}
        return answer;
    }
}
int answer = 0;
for (int i : num_list) {
	while(i != 1) {
		i /= 2;
		answer++;
	}
}
return answer;

5. 원하는 문자열 찾기

class Solution {
    public int solution(String myString, String pat) {
        int origin = myString.length();
        pat = pat.toLowerCase();
        myString = myString.toLowerCase().replaceAll(pat, "");
        return (myString.length() != origin) ? 1 : 0;
    }
}